package HomeWork03;

/**
 * @author 李孟琦
 * @version V1.0
 * @ProjectName:IntelliJ IDEA
 * @PackageName: HomeWork03
 * @ClassName: 003
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @date 2019/10/9 14:42
 * @Copyright 李孟琦版权所有
 */
public class Library {
    /*
    * 3. 以面向对象的思想，编写自定义类描述图书信息。
    * 设定属性包括：书名，作者，出版社名，价格；方法包括：信息介绍

        要求：

        1) 设置属性的私有访问权限，通过公有的get,set方法实现对属性的访问

        2) 限定介格必须大于10，如果无效进行提示

        3) 限定作者，书名境外为只读属性

        4) 设计构造方法实现对属性赋值

        5) 信息介绍方法描述图书所有信息

        6) 编写测试类，测试图书类的对象及相关方法（测试数据信息自定）
    * */
    private String bookName; //书名
    private String writer;  //作者
    private String press;  //出版社名
    private int price;  //价格


    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    public String getWriter() {
        return writer;
    }

    public void setWriter(String writer) {
        this.writer = writer;
    }

    public String getPress() {
        return press;
    }

    public void setPress(String press) {
        this.press = press;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        if (price < 10) {
            price = 10;
            System.out.println("定价不可低于10，已默认为10");
        } else {
            this.price = price;
        }
    }

    public Library() {

    }

    public Library(String bookName, String writer, String press, int price) {
        this.bookName = bookName;
        this.writer = writer;
        this.press = press;
        this.price = price;
    }

    public void report() {
        System.out.println("您选中的书的详细信息为:" + "书名:" + this.getBookName() + ",作者为:" +
                this.getWriter() + ",出版社为:" + press + ",定价为:" + price);
    }
}
